<div class='content'>
	<h2>yii框架描述</h2>

	<p><a target='_blank' href='http://www.yiiframework.com/'>yiiframework or yii</a> is an open source project released under the terms of the BSD License. This means that you can use Yii for free to develop either open-source or proprietary Web applications.</p>
	
	<p>Currently there are two major versions of Yii: 2.0 and 1.1.</p>
	<p><b>The Fast, Secure and Professional PHP Framework</b>. Yii is a high-performance PHP framework best for developing Web 2.0 applications.</p>
	<p>Yii comes with rich features: MVC, DAO/ActiveRecord, I18N/L10N, caching, authentication and role-based access control, scaffolding, testing, etc. It can reduce your development time significantly.</p>
	
	<h2>IoC容器和依赖注入模式</h2>
	<h3>简介</h3>
	<p>来自：<a target='_blank' href='http://blog.chinaunix.net/uid-91034-id-3051674.html'>Inversion of Control Containers and the Dependency Injection pattern</a> (<a target='_blank' href='http://blog.chinaunix.net/uid-91034-id-3051674.html'>中文翻译版</a>)。
	<a target='_blank' href="http://en.wikipedia.org/wiki/Inversion_of_control" rel="nofollow">Inversion of Control</a>(wiki)
	</p>
	<p>摘要：Java社群近来掀起了一阵轻量级容器的热潮，这些容器能够帮助开发者将来自不同项目的组件组装成为一个内聚的应用程序。在它们的背后有着同一个模式，这个模式决定了这些容器进行组件装配的方式。人们用一个大而化之的名字来称呼这个模式：“控制反转”（ Inversion of Control，IoC）。在本文中，我将深入探索这个模式的工作原理，给它一个更能描述其特点的名字——“依赖注入”（Dependency Injection），并将其与“服务定位器”（Service Locator）模式作一个比较。不过，这两者之间的差异并不太重要，更重要的是：应该将组件的配置与使用分离开——两个模式的目标都是这个。</p>
	
	<p>“控制反转”这个名字太泛了，常常让人有些迷惑。与多位IoC 爱好者讨论之后，我们决定将这个模式叫做“依赖注入”（Dependency Injection）。</p>
	<p>依赖注入的形式主要有三种，我分别将它们叫做构造函数注入（Constructor Injection）、设值方法注入（Setter Injection）和接口注入（Interface Injection）。如果读过最近关于IoC的一些讨论材料，你不难看出：这三种注入形式分别就是type 1 IoC（接口注入）、type 2 IoC（设值方法注入）和type 3 IoC（构造函数注入）。我发现数字编号往往比较难记，所以我使用了这里的命名方式。</p>
	
	<p>依赖注入的最大好处在于：它消除了MovieLister类对具体MovieFinder实现类的依赖。这样一来，我就可以把MovieLister类交给朋友，让他们根据自己的环境插入一个合适的MovieFinder实现即可。不过，<b>Dependency Injection模式</b>并不是打破这层依赖关系的唯一手段，另一种方法是使用<b>Service Locator模式</b>。</p>
	
	<p><a target='_blank' href='http://www.yuansir-web.com/2014/03/20/%E7%90%86%E8%A7%A3php-%E4%BE%9D%E8%B5%96%E6%B3%A8%E5%85%A5laravel-ioc%E5%AE%B9%E5%99%A8/'>理解PHP 依赖注入|Laravel IoC容器</a></p>
	<p><a target='_blank' href='http://my.oschina.net/cxz001/blog/209888?p=1'>PHP关于依赖注入(控制反转)的解释和例子说明</a></p>
	
	<h3>容器的依赖注入</h3>
	<p>熟悉di，不熟悉di容器。还在看。</p>
	
	
	

	

	<h2>yii视频</h2>
<pre>
与yii不得不说的故事-基础篇: http://www.imooc.com/learn/404 [2h38m]
	揭开YII框架神秘面纱。
	
与yii不得不说的故事-高效篇: http://www.imooc.com/learn/440 [2h26m]
	深入探讨YII的高效性。
	
与yii不得不说的故事-安全篇: http://www.imooc.com/learn/467 [3h]
	学习目前互联网流行的四种攻击方式以及YII对它们的防范和处理。
	
与yii不得不说的故事-扩展篇: http://www.imooc.com/learn/491 [1h51m]
	让程序具有高扩展性。
	
与yii不得不说的故事-工具篇: http://www.imooc.com/learn/520 [1h18m]
	提高YII框架项目开发效率必备知识。
	
	<hr>


1.工具篇。
	yii用到的工具：composer、debug和gii。

2.什么是composer？
	管理依赖关系的一个容器。
	
	(1)程序包原来是散落到web上的：
		发邮件	swiftmailer
		pdf	FPDF
	
	(2)后来有了github，下载方便了。但是github仅仅是存储各个程序包。
	https://github.com/
	
	(3)如果A依赖于B，B又依赖于C，怎么解决？手动也行，但是自动化岂不是更好？
	后来有了个packgist的网站，有各个包的依赖关系(requires部分)，同时指向github上的url。
	https://packagist.org/packages/symfony/finder
	
	(4)composer就是解决依赖关系，并下载这2个问题的。
	https://getcomposer.org/
	国内packagist的镜像： http://pkg.phpcomposer.com/
	也就是composer分析项目的程序包，然后到 packagist 查找依赖包，然后到github下载依赖包。

3.安装方法
	https://getcomposer.org/doc/00-intro.md

	设置成中国镜像的源：
	$ php composer.phar config -g repo.packagist composer http://packagist.phpcomposer.com

4.使用方法
	$ php composer.phar require yiisoft/yii2-gii




<hr>
到这里硬无法运行了，因为php版本过低: requires php >=5.5.9 -> your PHP version (5.5.1) 

5.install命令，需要json文件。



</pre>
	
	
	
	
	
	
	
</div>